package com.example.springbootdemo.mall.entity.ext;


import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.example.springbootdemo.utils.excle.LocalDateTimeConverter;
import lombok.Data;


import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 *@author xuwangqi
 *@date 2021/5/24 9:28
 **/

/**
    * 商品订单明细 到处excle
    */
@Data
public class OrderProductItemExcle {
    @ExcelProperty(value="id")
    private Long id;

    /**
     * 总订单id
     */
    @ExcelProperty(value="总订单id")
    private String orderId;

    /**
     * 总订单编号
     */
    
    @ExcelProperty(value="总订单编号")
    private String orderNo;

    /**
     * 用户id
     */
    
    @ExcelIgnore
    private Long userId;

    public void setUserId(Long userId) {
        this.userId = userId;
        this.userIdString = String.valueOf(userId);
    }

    @ExcelProperty(value = "用户id")
    private String userIdString;

    /**
     * 商品id
     */
    
    @ExcelProperty(value="商品id")
    private Long productId;

    /**
     * 导游id
     */
    
    @ExcelProperty(value="导游id")
    private Long guideId;

    /**
     * sku_id
     */
    
    @ExcelProperty(value="sku_id")
    private Long skuId;

    /**
     * 优惠券码
     */
    
    @ExcelProperty(value="优惠券码")
    private String couponCode;

    /**
     * 优惠券抵扣金额
     */
    
    @ExcelProperty(value="优惠券抵扣金额")
    private BigDecimal couponAmount;

    /**
     * 导游分成比例
     */
    
    @ExcelProperty(value="导游分成比例")
    private BigDecimal guideProportion;

    /**
     * sku分成比例
     */
    
    @ExcelProperty(value="sku分成比例")
    private BigDecimal skuProportion;

    /**
     * 商品编码
     */
    
    @ExcelProperty(value="商品编码")
    private String innerSn;

    /**
     * 第三方编码
     */
    
    @ExcelProperty(value="第三方编码")
    private String outerSn;

    /**
     * 商品标题
     */
    
    @ExcelProperty(value="商品标题")
    private String productTitle;

    /**
     * 商品图片
     */
    
    @ExcelProperty(value="商品图片")
    private String productCover;

    /**
     * 商品规格
     */
    
    @ExcelProperty(value="商品规格")
    private String productStandard;

    /**
     * 供应商id
     */
    
    @ExcelProperty(value="供应商id")
    private Long supplierId;

    /**
     * 运费
     */
    
    @ExcelProperty(value="运费")
    private BigDecimal freight;

    /**
     * 数量
     */
    
    @ExcelProperty(value="数量")
    private Integer quantity;

    /**
     * 订单商品单价
     */
    
    @ExcelProperty(value="订单商品单价")
    private BigDecimal productPrice;

    /**
     * 是否结算了导游分成 0 未结算 1 已结算
     */
    
    @ExcelProperty(value="是否结算了导游分成 0 未结算 1 已结算")
    private Boolean settlementSharePrice;

    /**
     * 订单导游分成金额
     */
    
    @ExcelProperty(value="订单导游分成金额")
    private BigDecimal sharePrice;

    /**
     * 订单详情总价格(去除掉优惠)
     */
    
    @ExcelProperty(value="订单详情总价格(去除掉优惠)")
    private Integer totalAmount;

    /**
     * 付款金额
     */
    
    @ExcelProperty(value="付款金额")
    private BigDecimal payAmount;

    /**
     * 支付方式
     */
    
    @ExcelProperty(value="支付方式")
    private String paymentType;

    /**
     * 支付时间
     */
    
    @ExcelProperty(value="支付时间",converter = LocalDateTimeConverter.class)
   private LocalDateTime gmtPay;

    /**
     * 退款id
     */
    
    @ExcelProperty(value="退款id")
    private Long refundId;

    /**
     * 退货id
     */
    
    @ExcelProperty(value="退货id")
    private Long reshipId;

    /**
     * 状态0->待付款；4->已付款；6->第三方确认有货 9-> 第三方确认无货  12->待发货；16->已发货；20 ->已取消(未付款取消和付款取消和已发货取消); 24已确认（确认收货）; 28->已完成；32->已关闭；
     */
    
    @ExcelProperty(value="状态0->待付款；4->已付款；6->第三方确认有货 9-> 第三方确认无货  12->待发货；16->已发货；20 ->已取消(未付款取消和付款取消和已发货取消); 24已确认（确认收货）; 28->已完成；32->已关闭；")
    private Byte status;

    /**
     * 定制需求(比如要刻什么字)
     */
    
    @ExcelProperty(value="定制需求(比如要刻什么字)")
    private String customize;

    /**
     * 物流id
     */
    
    @ExcelProperty(value="物流id")
    private String logisticNo;

    /**
     * 物流公司
     */
    
    @ExcelProperty(value="物流公司")
    private String logisticName;

    /**
     * 物流代码
     */
    
    @ExcelProperty(value="物流代码")
    private String logisticCode;

    /**
     * 关闭原因
     */
    
    @ExcelProperty(value="关闭原因")
    private String closedReason;

    /**
     * 关闭时间
     */
    
    @ExcelProperty(value="关闭时间",converter = LocalDateTimeConverter.class)
   private LocalDateTime gmtClose;

    /**
     * 发货时间
     */
    
    @ExcelProperty(value="发货时间",converter = LocalDateTimeConverter.class)
   private LocalDateTime gmtDelivery;

    /**
     * 确认收货时间
     */
    
    @ExcelProperty(value="确认收货时间",converter = LocalDateTimeConverter.class)
   private LocalDateTime gmtReceive;

    
    @ExcelProperty(value="订单生成时间",converter = LocalDateTimeConverter.class)
   private LocalDateTime gmtCreate;

}